/*
 * =====================================================================================
 *
 *       Filename:  Matrix.h
 *
 *    Description:  the header of Matrix class
 *
 *        Version:  1.0
 *        Created:  11/07/11 19:09:59
 *       Revision:  none
 *       Compiler:  g++
 *
 *         Author:  LittleQ Su (), 98703060@nccu.edu.tw
 *        Company:  National Chengchi University, The Department of Computer Science
 *
 * =====================================================================================
 */

#ifndef _MATRIX_H_
#define _MATRIX_H_

class Matrix {
    public:
        Matrix(int row, int column);
        Matrix operator+ (const Matrix & b);
        Matrix operator- (const Matrix & b);
        Matrix operator* (const Matrix & b);
        void set(int row, int column, int value);
        int get(int row, int column) const;
        int getColumn() const;
        int getRow() const;
        void print();

    private:
        int column;
        int row;
        int content[50][50]; //[y][x]

        bool isSameDiversion(const Matrix & b);
};
#endif

